// JavaScript Document
//Funcion que crea el jqgrid de lotes
function print_grid(){
	$("#list").jqGrid({
    //Pagina a la que se van a mandar los datos
    url:'lotes/backend.php?action=grid', 
     // Tipo de datos "JSON" es una alternativa a XML
		datatype: "json", 
		// Nombres de las columnas del jqgrid
		colNames:['Lote','Articulo','Uds/Caja','Cajas','Distribuidor','id_producto','id_lote','Fecha Caducidad'], 
		//Id de las columnas de la tabla articulos que se pasaran al jqgrid
		colModel:[ 
			{name:'n_lote',index:'n_lote', width:90, align:'center'}, 
			{name:'articulo',index:'articulo', width:250, align:'center'},
			{name:'udsxcaja',index:'udsxcaja', width:50, align:'center'},
			{name:'cantidad',index:'cantidad', width:50, align:'center'},
			{name:'distribuidor',index:'distribuidor', width:90, align:'center'},
			{name:'id_producto',index:'id_producto', width:90, align:'center', hidden: true},
			{name:'id_lote',index:'id_lote', width:90, align:'center', hidden: true},
			{name:'fecha_caducidad',index:'fecha_caducidad', width:90, align:'center'}
				
		], 
		//Se especifica el alto y el ancho del jqgrid
		rowNum:15, 
		height:280,
		width:780,
		//rowList:[25,50,75], 
		//Cabecera del jqgrid
		pager: '#pager', 
		sortname: 'fecha_caducidad', 
		//Autodimensionarse
		autowidth: false,
		//Ordenar los datos
		viewrecords: true, 
		//Manera de ordenar los datos
		
		sortorder: "asc", 
		// Títulos del jqgrid
		caption:"Gesti&oacute;n B&aacute;sica de Lotes",
		pgbuttons:true,
		pginput:true
    });
	
	//Desactiva todos los botones y funciones del jqgrid
	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	$("#list").jqGrid('filterToolbar'); 
		$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Consultar    ",
		buttonicon :'ui-icon-print',
		onClickButton : function (){ 
			ConsultarLote();
		} 
	});
	 }
	

	//Funcion que permite consultar los datos de un lote a traves de otro grid
	 function ConsultarLote(){
	var id =$("#list").jqGrid('getGridParam','selrow');
	var lote = $("#list").jqGrid('getRowData',id); 

	if( id == null ){
		alert("Para consultar un registro debe seleccionarlo previamente."); 
	}else{
		//Se envian al backend los datos del lote del cual derivarán los datos del segundo grid
		$.get("lotes/backend?action=grid2&id_lote="+lote.id_lote, function(data){
		//$('#id_producto').val()
		$("#list").jqGrid('GridUnload');

			print_grid2(lote.id_lote,lote.n_lote,lote.articulo);
		
			
		});
	}
	return false;
}

//Funcion que crea un subgrid dentro del grid principal de lotes
function print_grid2(id_lote,n_lote,articulo){
	$("#list").jqGrid({
    //Pagina a la que se van a mandar los datos
    url:'lotes/backend.php?action=grid2&id_lote='+id_lote, 
     // Tipo de datos "JSON" es una alternativa a XML
		datatype: "json", 
		// Nombres de las columnas del jqgrid
		colNames:['Lotes','Articulos','N Expedicion','Movimiento','Unidades','Fecha'], 
		//Id de las columnas de la tabla articulos que se pasaran al jqgrid
		colModel:[ 
			{name:'n_lote',index:'n_lote', width:90, align:'center',hidden:true}, 
			{name:'articulo',index:'articulo', width:250, align:'center',hidden:true},
			{name:'n_expedicion',index:'n_expedicion', width:200, align:'center'},
			{name:'movimiento',index:'movimiento', width:200, align:'center'},
			{name:'unidades',index:'unidades', width:200, align:'center'},
			{name:'fecha',index:'fecha', width:200, align:'center'},
		], 
		//Se especifica el alto y el ancho del jqgrid
		rowNum:15, 
		height:280,
		width:780,
		//rowList:[25,50,75], 
		//Cabecera del jqgrid
		pager: '#pager', 
		sortname: 'fecha', 
		//Autodimensionarse
		autowidth: false,
		//Ordenar los datos
		viewrecords: true, 
		//Manera de ordenar los datos
		
		sortorder: "asc", 
		// Títulos del jqgrid
		caption:"Lote: "+n_lote+" - Articulo: "+articulo,
		pgbuttons:false,
		pginput:false
		
    });
	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Volver    ",
		buttonicon :'ui-icon-arrowreturnthick-1-w',
		onClickButton : function (){ 
			volvergrid();
		} 
	});
}
		
	//Funcion que cierra el segundo grid y vuelve al primero
	 function volvergrid(){
		$.get("lotes/backend?action=grid", function(data){
		//$('#id_producto').val()
		$("#list").jqGrid('GridUnload');

			print_grid();
		
			
		});
	
	return false;
}
	//Añade un botón en el pies del jqgrid
		//Se crea un "botón" insertar en el pie 
/*	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Insertar    ",
		buttonicon :'ui-icon-plus',
		onClickButton : function (){ 
			nuevoperfil();
		} 
	}); 
		//Se crea un texto hipervinculado a modificar
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Modificar   ", 
		buttonicon :'ui-icon-pencil',
		onClickButton : function (){ 
			modificar();
		} 
	}); 
		//Se crea un "botón" borrar en el pie de página
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Borrar    ", 
		buttonicon :'ui-icon-trash',
		onClickButton : function (){ 
			borrar();
		} 
	}); 
	$("#list").jqGrid('filterToolbar'); 
}

 //Esta función inserta un nuevo artículo a la lista de articulos
function nuevoperfil(){	 
$.get("clientes/backend.php?action=form", function(data){
		$('#jqgrid_list').css('display','none');
		$('#formulario').html(data);
		$('#formulario').css('display','');
	});
	return false;
}
// Esta función modifica los artículos que ya hay en la lista
function modificar(){
	var id_cliente = $("#list").jqGrid('getGridParam','selrow'); 	
	if( id_cliente == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		$.get("clientes/backend.php?action=form&id_cliente="+id_cliente, function(data){
			$('#jqgrid_list').css('display','none');
			$('#formulario').html(data);
			$('#formulario').css('display','');
		});
	}
	return false;
}
//Esta función borra los artículos de la lista
function borrar(){	
	var id_cliente = $("#list").jqGrid('getGridParam','selrow'); 
	if( id_cliente == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		if(!confirm("¿Está seguro de que desea eliminar el registro seleccionado?"))
			exit(); 

		$.get("clientes/backend.php?action=borrar&id="+id_cliente, function(data){
			$("#list").trigger("reloadGrid");
		});
	}
	return false;
}
//Esta funcion guarda los cambios que se han realizado en las funciones anteriores
function guardar(action){
		
	if(comprobar_datos()==true)
	{
	
		$.get("clientes/backend.php?action="+action,$("#form_datos").serialize(), function(data){
			
				switch(data){
					case 'OK':
					
						$('#jqgrid_list').css('display','');
						$('#formulario').html('');
						$('#formulario').css('display','none');
						$("#list").trigger("reloadGrid");
						break;					
							}							

		});
	}

	return false;
}
//
function reiniciar_titulos(){
	//Se crea el array de nombre
	contenedores = new Array('nombre');
	
	for(i=0;i<contenedores.length;i++){
		//Controla el metodo 
		document.getElementById('cont_'+contenedores[i]).style.color= "#000000";
		document.getElementById('cont_'+contenedores[i]).style.fontWeight= "normal";
	}
}
//Frases de error al guardar un campo
function titulo_error(var_cont){
	reiniciar_titulos();
	document.getElementById('cont_'+var_cont).style.color= "red";
	document.getElementById('cont_'+var_cont).style.fontWeight= "bold";			
	document.getElementById('contenedor').innerHTML = "<font color='red'><b>Hay campos err&oacute;neos o sin cumplimentar</b></font>";
}


/*function informacion_mesa()	//Muestra informacion sobre la mesa
{
	var id_mesa = $("#list").jqGrid('getGridParam','selrow'); 
	if( id_mesa != null ){
		$.get("clientes/backend.php?action=informacion_mesa&id="+id_mesa,function(data){
			crear_modal(600,500,data);
			$("#tabs").tabs();
		});	
	}
}*/

//Funcion que comprueba que solo se puedan introducir numeros en las cajas de texto
  function comprobar_solonumeros(evt){

//asignamos el valor de la tecla a keynum
if(window.event){// IE
keynum = evt.keyCode;
}else{
keynum = evt.which;
}
//comprobamos si se encuentra en el rango
if(keynum>47 && keynum<58){
return true;
}else{
return false;
}
}
						
//Esta es la funcion de salir, cierra el formulario de lotes y despliega el jqgrid de lotes
function volver()
{
	$('#jqgrid_list').css('display','');
	$('#formulario').html('');
	$('#formulario').css('display','none');
}
